Intelligent boom control with rapid system cycling

ABSTRACT

A work machine has a connecting valve which is positioned fluidly between a hoist actuator and a stick actuator to permit fluid flow between the hoist actuator and the stick actuator when the connecting valve is open. When the connecting valve is closed, fluid flow is inhibited between the hoist actuator and the stick actuator. A controller can receive information from a hoist boom position sensor and a stick boom position sensor, the controller can receive input from a user interface, and the controller can communicate signals to the hoist actuator and the stick actuator based upon the information from the hoist boom position sensor and the stick boom position sensor, and the input from the user interface.

BACKGROUND OF THE DISCLOSURE

In the forestry industry, for example, wheeled or tracked fellerbunchers are used to harvest standing trees and transport cut trees. Inknown arrangements, a felling head with one or more saw discs may bemounted to a boom assembly of a feller buncher that includes multiplepivoting booms. Actuators may then be arranged on the boom assembly topivot the booms relative to each other and thereby move the fellinghead.

When multiple booms are arranged in a boom assembly, controlled movementof an end effector may be relatively difficult, requiring significantinvestment in operator training. Under conventional control systems, forexample, an operator may move a joystick along one axis to moveactuators that pivot a first boom, and move the joystick along anotheraxis to move actuators that pivot a second boom. In theory, an operatormay control the two booms such that the aggregate movement of all of theactuators causes a desired movement of the end effector. However, thechanging geometry of the two booms as they move relative to each otherand the vehicle introduces significant complexity to the relationshipsbetween actuator movement and movement of the end effector. Accordingly,precise control of the end effector may be relatively difficult withoutsignificant skill and practice.

Movement of the boom can vary dramatically in speed based upon thelocation of the boom with respect to the vehicle. This speed variationcan make it difficult for a user to accurately control boom operationsince the movement may accelerate or decelerate unexpectedly. In thislight, a control system for improved control of boom movement is needed.

SUMMARY OF THE DISCLOSURE

Some embodiments include a work machine having a frame, a userinterface, a controller and a boom assembly coupled to the frame. Theboom assembly includes a hoist boom pivotally connected to the frame andmoveable relative to the frame by a hoist actuator, a hoist boomposition sensor connected to the hoist boom, and a stick boom pivotallyconnected to the hoist boom and moveable relative to the hoist boom by astick actuator, a stick boom position sensor connected to the stickboom. A pump is fluidly connected to the hoist actuator and can fluidlycommunicate with the hoist actuator through a hoist valve. The pump isalso fluidly connected to the stick actuator and can fluidly communicatewith the stick actuator through a stick valve. A connecting valve ispositioned fluidly between the hoist actuator and the stick actuator topermit fluid flow between the hoist actuator and the stick actuator whenthe connecting valve is open. When the connecting valve is closed, fluidflow is inhibited between the hoist actuator and the stick actuator. Thecontroller can receive information from the hoist boom position sensorand the stick boom position sensor, the controller can receive inputfrom the user interface, and the controller can communicate signals tothe hoist actuator and the stick actuator based upon the informationfrom the hoist boom position sensor and the stick boom position sensor,and the input from the user interface.

Some embodiments include a method of controlling fluid flow in a workmachine. The method includes moving a hoist valve into a first positionin which the hoist valve permits flow of hydraulic fluid between areservoir and a hoist actuator, and moving the hoist valve into a secondposition in which the hoist valve inhibits flow of hydraulic fluidbetween the reservoir and the hoist actuator. The method furtherincludes moving a stick valve into a first position in which the stickvalve permits flow of hydraulic fluid between the reservoir and a stickactuator, and moving the stick valve into a second position in which thestick valve inhibits flow of hydraulic fluid between the reservoir andthe stick actuator. The method further includes moving a connectingvalve into a first position in which the connecting valve permits flowof hydraulic fluid between the hoist actuator and the stick actuator,and moving the connecting valve into a second position in which theconnecting valve inhibits flow of hydraulic fluid between the hoistactuator and the stick actuator. The method further includes sensing aposition of the hoist boom with a hoist boom position sensor, sensing aposition of the stick boom with a stick boom position sensor,communicating the sensed positions to a controller, receiving, with thecontroller, input from a user interface, and communicating signals tothe hoist actuator and the stick actuator, with the controller, basedupon the sensed position of the hoist boom, the sensed position of thestick boom, and the input from the user interface.

Some embodiments includes a hydraulic circuit and control system for awork machine that includes a machine frame and a boom assembly coupledto the machine frame, in which the boom assembly includes a hoist boompivotally connected to the machine frame and moveable relative to themachine frame by a hoist actuator, and a stick boom pivotally connectedto the hoist boom and moveable relative to the hoist boom by a stickactuator, the hydraulic circuit. The control system including a pumpoperable to move hydraulic fluid within the hydraulic circuit, a hoistvalve fluidly positioned between the pump and the hoist actuator topermit fluid flow from the pump into the hoist actuator when the hoistvalve is in a first position and to inhibit fluid flow from the pumpinto the hoist actuator when the hoist valve is in a second position, astick valve fluidly positioned between the pump and the stick actuatorto permit fluid flow from the pump into the stick actuator when thestick valve is in a first position and to inhibit fluid flow from thepump into the stick actuator when the stick valve is in a secondposition and a connecting valve fluidly positioned between the hoistactuator and the stick actuator to permit fluid flow between the hoistactuator and the stick actuator when the connecting valve is in a firstposition and to inhibit fluid flow between the hoist actuator and thestick actuator when the connecting valve is in a second position. Thecontrol system further includes a controller, a user interface, a hoistboom position sensor connected to the hoist boom, and a stick boomposition sensor connected to the stick boom. The controller ispositioned to receive information from the hoist boom position sensorand the stick boom position sensor, the controller is positioned toreceive input from the user interface, and the controller is configuredto send signals to the hoist actuator and the stick actuator based uponthe information from the hoist boom position sensor and the stick boomposition sensor, and the input from the user interface.

The details of one or more implementations of the disclosure are setforth in the accompanying drawings and the description below. Otherfeatures and advantages will become apparent from the description, thedrawings, and the claims.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a perspective view of an example work machine with aboom-mounted end effector, in the form of a tracked feller buncherhaving a felling head mounted to a boom assembly;

FIG. 2 is a side schematic view of the feller buncher of FIG. 1;

FIG. 3A is a side schematic view of the feller buncher of FIG. 1indicating a first reference frame;

FIG. 3B is a graphical representation of a control scheme for moving theend effector of FIG. 1 in a first kinematic mode, with respect to thefirst reference frame of FIG. 3A;

FIG. 4 is a graphical representation of another control scheme formoving the end effector of FIG. 1 in the first kinematic mode, withrespect to the first reference frame of FIG. 3A;

FIG. 5 is a graphical representation of yet another control scheme formoving the end effector of FIG. 1 in the first kinematic mode, withrespect to the first reference frame of FIG. 3A;

FIG. 6A is a side schematic view of the feller buncher of FIG. 1indicating a second reference frame;

FIG. 6B is a graphical representation of a control scheme for moving theend effector of FIG. 1 in the first kinematic mode, with respect to thesecond reference frame of FIG. 6A;

FIG. 7 is a graphical representation of another control scheme formoving the end effector of FIG. 1 in the first kinematic mode, withrespect to the second reference frame of FIG. 6A;

FIG. 8A is a side schematic view of the feller buncher of FIG. 1indicating a third reference frame;

FIG. 8B is a schematic view of velocity input commands with respect tothe third reference frame of FIG. 8A;

FIG. 9A is a schematic depiction of an input device for the fellerbuncher of FIG. 1, with a velocity input command being provided along afirst degree of freedom;

FIGS. 9B through 9D are side schematic views of the feller buncher ofFIG. 1 indicating a direction of movement of the felling headcorresponding to the velocity input command of FIG. 9A, with respect tothe first, second and third reference frames, respectively, of FIGS. 3A,6A, and 8A;

FIG. 10A is a schematic depiction of the input device of FIG. 9A, with avelocity input command being provided along a second degree of freedom;

FIGS. 10B through 10D are side schematic views of the feller buncher ofFIG. 1 indicating a direction of movement of the felling headcorresponding to the velocity input command of FIG. 10A, with respect tothe first, second and third reference frames, respectively, of FIGS. 3A,6A, and 8A;

FIG. 11A is a schematic depiction of the input device of FIG. 9A, withvelocity input commands being provided along the first and seconddegrees of freedom;

FIGS. 11B through 11D are side schematic views of the feller buncher ofFIG. 1 indicating a direction of movement of the felling headcorresponding to the velocity input commands of FIG. 11A, with respectto the first, second and third reference frames, respectively, of FIGS.3A, 6A, and 8A;

FIG. 12A is a schematic depiction of another input device for the fellerbuncher of FIG. 1, with a velocity input command being provided along afourth degree of freedom;

FIGS. 12B through 12D are side schematic views of the feller buncher ofFIG. 1 indicating a tilting movement of the felling head correspondingto the velocity input command of FIG. 12A, with respect to the first,second and third reference frames, respectively, of FIGS. 3A, 6A, and8A;

FIG. 13A is a side schematic view of the feller buncher of FIG. 1depicting a movement of the felling head under a second kinematic mode;

FIG. 13B is a schematic depiction of two input devices for the fellerbuncher of FIG. 1, which may be used for the second kinematic mode;

FIGS. 13C and 13D are side schematic views of the felling head of FIG. 1during cutting operations under the second kinematic mode;

FIG. 14A is a side schematic view of the felling head of FIG. 1 during acutting operation using a duty cycle; and

FIG. 14B is a side schematic view of movements of a disc saw of thefelling head under the duty cycle of FIG. 14A.

FIG. 15 illustrates a hydraulic schematic according to some embodimentsof the present invention.

FIG. 16 illustrates a hydraulic schematic according to some embodimentsof the present invention.

Like reference numerals in the drawings indicate like components, parts,or operations.

DETAILED DESCRIPTION

The following describes one or more example implementations of thedisclosed system for control of end effector movement, as shown in theaccompanying figures of the drawings described briefly above. Generally,the disclosed control systems (and work vehicles on which they areimplemented) allow for improved operator control of the movement of anend effector, as compared to conventional systems.

Generally, an end effector may be supported with respect to a workvehicle (or other work machine) by a boom assembly and the boom assemblymay be moved by various actuators in order to accomplish tasks with theend effector. Discussion herein may sometimes focus on the exampleapplication of moving an end effector configured as a felling head for afeller buncher, with actuators for moving the felling head generallyconfigured as hydraulic cylinders. In other applications, otherconfigurations are also possible. In some embodiments, for example,sprayers, claws, grapples, or other devices may also be configured asmovable end effectors. Likewise, work vehicles in some embodiments maybe configured as excavators or other diggers, as forwarders, asskidders, as concrete crushers or similar machines, as sprayers, or invarious other ways.

The disclosed control system may be used to receive velocity commandsfor movement of an end effector specifying a desired velocity of the endeffector relative to a reference frame. The system may then determinevelocity commands for various actuators such that the commanded movementof the actuators provides the commanded movement of the end effector. Inthis way, operator input along a limited number of degrees of freedommay be converted to commands for relatively complex movement of multipleactuators, in order to provide the desired movement of the end effector.This may generally permit intuitive operator input, in that an operatormay directly indicate a desired movement (e.g., velocity) for the endeffector, relative to a reference frame, rather than attempting toprovide distinct actuator commands that would result in a desiredmovement of the end effector. As such, an operator may cause relativelyprecise movement of the end effector, without a detailed appreciation ofa movement envelope of the end effector or a mapping of end effectorposition within the envelope to input device movement.

Generally, a boom assembly may include at least two booms that areseparately movable by distinct actuators. For example, a first boom of aboom assembly may be attached to a frame of the work vehicle, and may bemoved (e.g., pivoted) relative to the work vehicle by a first actuator.A second boom of the boom assembly may be attached to the first boom,and may be moved (e.g., pivoted) relative to the first boom by a secondactuator. An end effector may be attached to the second boom and, insome embodiments, may be moved (e.g., pivoted) relative to the secondboom by a third actuator. In this way, distinct movements of the first,second, and third actuators may correspond to distinct movements of thefirst boom, second boom, and end effector, respectively. Further, due tothe configuration of the boom assembly, a movement of the first boom maycause a corresponding movement of the second boom and the end effectorrelative to the vehicle frame, and a movement of the second boom maycause a corresponding movement of the end effector relative to the firstboom.

In one embodiment, for example, a felling head may be mounted to afeller buncher by a boom assembly with a hoist boom and a stick boom.The hoist boom may be pivotally attached to a frame of the fellerbuncher. The hoist boom may be generally pivoted with respect to thevehicle frame by an actuator (herein, a “hoist actuator”), such as ahydraulic cylinder (herein, a “hoist cylinder”). The stick boom may bepivotally attached to the hoist boom at a distance from the attachmentof the hoist boom to the frame, such that the movement of the hoist boomrelative to the vehicle frame also moves the stick boom. The stick boommay be generally pivoted with respect to the hoist boom by an actuator(herein, a “stick actuator”) such as a hydraulic cylinder (herein, a“stick cylinder”). The felling head may be pivotally attached to thestick boom with a wrist assembly, at a distance from the attachment ofthe stick boom to the hoist boom. The felling head may be pivoted withrespect to the stick boom (e.g., about a stick pin of the wristassembly) by an actuator (herein, at “tilt actuator”) such as ahydraulic cylinder (herein, a “tilt cylinder”).

In some embodiments, the boom assembly may be configured such that thehoist boom, the stick boom and the felling head are pivoted by thevarious actuators along a common plane. Other actuators may then beconfigured to collectively move the entire boom assembly (e.g., byrotating the vehicle frame), in order to change the orientation of thecommon plane of movement for the boom assembly. Still other actuatorsmay be configured to actuate the boom assembly, or other components, inother ways. For example, a particular actuator may be configured torotate the felling head such that a cutting plane of a disc saw of thefelling head is pivoted with respect to the common plane of movement forthe boom assembly.

An input interface may be provided to receive velocity input commands(i.e., inputs representing vectors of velocity magnitude and direction)for movement of the end effector. In this regard, for example, velocityinput commands may be distinguished from commands directly specifying atarget position, or scalar speed commands (including as provided withrespect to input specifying a target position). An input interface maybe configured in various ways, including as an interface with multipleinput devices such as joysticks, switches, knobs, levers, wheels, and soon.

In some embodiments, the nature of the velocity input commands,including the desired movement of the end effector corresponding to thecommands, may vary depending on a current mode of operation for thecontrol system. In a first kinematic mode of operation, for example, anoperator may provide velocity input commands via the input interfacealong at least three degrees of freedom, with input along a first degreeof freedom indicating a desired horizontal velocity for the endeffector, input along a second degree of freedom indicating a desiredvertical velocity for the end effector, and input along a third degreeof freedom indicating a desired angular velocity (or “tilt velocity”)for the end effector. As such, operator input may be relativelyintuitive, in the first kinematic mode, as the operator may directlyindicate a desired velocity (or velocities) for the end effector,relative to a reference frame, rather than guessing at a combination ofactuator speeds that would result in a desired movement of the endeffector.

Based upon the velocity input commands in the first kinematic mode (orin other modes), a controller may determine velocity commands forvarious actuators such that the end effector may be moved, in aggregate,as commanded by the operator (or otherwise desired). For example, withrespect to the hoist boom, stick boom, and felling head assembly notedabove, an operator may provide velocity input commands indicatingdesired horizontal, vertical, and tilt velocities for the felling head.Sensors may be utilized to detect indicators of a current orientation ofthe hoist boom, the stick boom, and the felling head, including thecurrent tilt angle of the felling head. Based upon the currentorientation of the booms and the felling head, the controller may thenconvert the velocity input commands for the end effector into velocitycommands for the hoist, stick, and tilt cylinders, such that thecommanded movement of the cylinders, in aggregate, causes theoperator-commanded velocities for the felling head. In this way, asnoted above, an operator may input relatively intuitive velocitycommands for movement of the felling head, which may be automaticallyconverted into the corresponding direct commands for movement of eachrelevant cylinder.

In some embodiments, the first kinematic mode may be provided as analternative mode to a “joint” mode of operation, in which an operatorprovides velocity commands for movement of various actuators, ratherthan velocity commands for movement of the end effector. Continuing theexample above, an operator may control movement of the felling head injoint mode by independently commanding movement of the various hydrauliccylinders. For example, the operator may provide input along a firstdegree of freedom to move the hoist cylinder, along a second degree offreedom to move the stick cylinder, and along a third degree of freedomto move the tilt cylinder with a particular tilt velocity. Accordingly,the operator may control movement of the end effector indirectly, bydirectly controlling movement of the various cylinders. The operator maythen transition to the first kinematic mode, as appropriate, in order tocontrol movement of the felling head via velocity input commands for thefelling head itself, rather than for the various cylinders.

In some embodiments, a second kinematic mode may also be provided. Inthe second kinematic mode, the controller may be further configured tomaintain a particular angular orientation (i.e., a particular “tiltorientation”) of the end effector, with respect to a reference frame.This may be useful, for example, if an operator desires to move an endeffector along a particular plane or tilt the end effector to anorientation that is in parallel with a commanded direction of movement.

In some implementations of the second kinematic mode, the controller maydetermine actuator commands for horizontal and vertical (i.e.,translational) movement of an end effector based upon velocity inputcommands in a similar manner as in the first kinematic mode. Further,the controller may determine commands for a tilt actuator that maintaina particular tilt orientation of the end effector during thetranslational movement. In this way, an operator may command anaggregate translational movement of the end effector and the controlsystem may automatically maintain a particular tilt orientation of theend effector during the movement. This may be useful, for example, inorder to prevent a log carried by a feller buncher from rotating withrespect to a reference frame when the log is being moved by a boomassembly.

In some implementations of the second kinematic mode, the tiltorientation of the end effector that is maintained by the commands fromthe controller may correspond to a plane that is aligned with theaggregate horizontal and vertical movement of the end effector. Forexample, horizontal and vertical velocities for an end effector (and thecorresponding actuator velocity commands) may be determined, with thevelocities of the end effector together defining a movement direction. Atarget tilt orientation for the end effector may then be determinedbased upon the movement direction. For example, for a requestedtranslational movement of a felling head, a target tilt orientation forthe felling head may be determined that aligns the cutting plane of adisc saw with the direction of the translational movement. This may beuseful, for example, in order to align the disc saw with the commandedtranslational movement during a cutting operation.

In other implementations of the second kinematic mode, a target tiltorientation may be identified for an end effector (e.g., based uponoperator or sensor input). Corresponding horizontal and verticalvelocities for the end effector (and the corresponding actuator velocitycommands) may then be determined based upon the target tilt orientation.This may be useful, for example, in order to move an end effector alonga particular plane corresponding to the tilt orientation of the endeffector. For example, for a particular tilt orientation of a fellinghead, which may define a particular cutting plane for the disc saw,actuator velocity commands may be determined in order to provide anaggregate movement of the end effector that is parallel to the cuttingplane.

In some implementations, the same input devices (e.g., various devicesof an input interface) may be used to provide input for various of themodes discussed herein. For example, a joystick used to provide velocityinput commands in the joint mode may also be used to provide velocityinput commands in either of the first or second kinematic modes. Assuch, for example, an operator may be able to utilize a common inputinterface (or at least common components of an input interface) tocontrol movement of an end effector in various different ways.

As noted above, the disclosed hydraulic system may be utilized withregard to various machines with end effectors, including feller bunchersand other machines for cutting and sawing operations. Referring to FIGS.1 and 2, in some embodiments, the disclosed system may be used with afeller buncher 20 to control movement of an end effector configured as afelling head 22 mounted to the end of a boom assembly 38. It will beunderstood that the configuration of the feller buncher 20 is presentedas an example only.

In the embodiment depicted, the felling head 22 is pivotally mounted toa stick boom 24 of the boom assembly 38 at a stick pin 26 of a wristassembly 28. A hydraulic cylinder 30 (also referred to herein as a “tiltcylinder”) is mounted to the stick boom 24 and to a linkage 32 attachedto the wrist assembly 28, such that the cylinder 30 may be actuated inorder to pivot the felling head 22 about the stick pin 26. Due to thedepicted assembly of the wrist assembly 28, a movement of the stick pin26 may generally be viewed as a equivalent to a corresponding movementof the felling head 22 as a whole. In some embodiments, other actuators(not shown) may be utilized to provide other movement of the fellinghead 22 (e.g., rotation about an axis that is perpendicular to the stickpin 26).

Generally, a felling head may include a cutting mechanism for cuttingstanding trees or other objects, as well as various other features. Asdepicted, for example, the felling head 22 includes a saw disc 36defining a cutting plane 36 a, as well as clasping arms 34 for securingcut and un-cut trees to the felling head 22. Other end effectors mayinclude other mechanisms, including mechanisms for tasks other thancutting and clasping. Similarly, other end effectors may includefeatures that define a different reference plane.

Still referring to FIGS. 1 and 2, the boom assembly 38 also includes ahoist boom 40 that is pivotally attached to the stick boom 24 oppositethe attachment of the stick pin 26 to the stick boom 24. The hoist boom40 is also pivotally attached to a frame 42 of the feller buncher 20opposite the attachment of the hoist boom 40 to the stick boom 24. Ahydraulic cylinder 44 (also referred to herein as a “stick cylinder”) ismounted to the stick boom 24 and to the hoist boom 40, such that thecylinder 44 may be actuated in order to pivot the stick boom 24 withrespect to the hoist boom 40. Further, a hydraulic cylinder 46 (alsoreferred to herein as a “hoist cylinder”) is mounted to the hoist boom40 and the vehicle frame 42, such that the cylinder 46 may be actuatedin order to pivot the hoist boom 40 with respect to the vehicle frame42.

In the embodiment depicted, the various booms 24 and 40, the wristassembly 28, and the various hydraulic cylinders 30, 44, and 46 areconfigured to move the boom assembly 38 within a single boom assemblyplane (e.g., a plane oriented along the page, with respect to FIG. 2).In other configurations, other movements of a boom assembly may bepossible. Further, in some embodiments, a different number orconfiguration of cylinders or other actuators may be used. For example,two hoist cylinders 46 may be provided, rotational (or other) actuatorsmay be used, and so on. Generally, the control system disclosed hereinmay be applied with respect to any type of actuator capable of producingrelative movement of one or more booms (or other features) of a boomassembly relative to a vehicle frame or another component of the boomassembly.

Generally, it will be understood that the configuration of the boomassembly 38 is presented as an example only. In this regard, a hoistboom (e.g., the hoist boom 40) may be generally viewed as a boom that ispivotally attached to a vehicle frame, and a stick boom (e.g., the stickboom 24) may be viewed as a boom that is pivotally attached to a hoistboom at an attachment point that is removed from the vehicle frame, andthat is also pivotally attached to an end effector. Similarly, a stickpin (e.g., the stick pin 26) may be generally viewed as a pin or similarfeature effecting pivotal attachment of a stick boom to an end effector(e.g., via a wrist assembly). In this light, a tilt actuator (e.g., thetilt cylinder 30) may be generally viewed as an actuator for pivoting anend effector with respect to a stick boom, a stick actuator (e.g., thestick cylinder 44) may be generally viewed as an actuator for pivoting astick boom with respect to a hoist boom, and a hoist actuator (e.g., thehoist cylinder) may be generally viewed as an actuator for pivoting ahoist boom with respect to a vehicle frame.

The feller buncher 20, may include one or more pumps 48, which may bedriven by an engine of the feller buncher 20 (not shown). Flow from thepumps 48 may be routed through various valves 50 and various conduits(e.g., flexible hoses) in order to move one or more of the cylinders 30,44, and 46. Flow from the pumps 48 may also power rotation of the sawdisc 36, or various other components of the feller buncher 20. The flowfrom the pumps 48 may be controlled in various ways (e.g., throughcontrol of the various valves 50), in order to cause movement of thecylinders 30, 44 and 46 with a different velocities. In this way, forexample, a target velocity for a particular cylinder may be implementedby various velocity output commands to the pumps 48, valves 50, and soon.

Generally, a controller 52 (or multiple controllers) may be provided,for control of various aspects of the operation of the feller buncher20, in general). The controller 52 (or others) may be configured as acomputing device with associated processor devices and memoryarchitectures, as a hard-wired computing circuit (or circuits), as aprogrammable circuit, as a hydraulic, electrical or electro-hydrauliccontroller, or otherwise. As such, the controller 52 may be configuredto execute various computational and control functionality with respectto the feller buncher 20 (or other machinery). In some embodiments, thecontroller 52 may be configured to receive input signals in variousformats (e.g., as hydraulic signals, voltage signals, current signals,and so on), and to output command signals in various formats (e.g., ashydraulic signals, voltage signals, current signals, mechanicalmovements, and so on). In some embodiments, the controller 52 (or aportion thereof) may be configured as an assembly of hydrauliccomponents (e.g., valves, flow lines, pistons and cylinders, and so on),such that control of various devices (e.g., pumps or motors) may beeffected with, and based upon, hydraulic, mechanical, or other signalsand movements.

The controller 52 may be in electronic, hydraulic, mechanical, or othercommunication with various other systems or devices of the fellerbuncher 20 (or other machinery). For example, the controller 52 may bein electronic or hydraulic communication with various actuators,sensors, and other devices within (or outside of) the feller buncher 20,including various devices associated with the pumps 48, valves 50, andso on. The controller 52 may communicate with other systems or devices(including other controllers) in various known ways, including via a CANbus (not shown) of the feller buncher 20, via wireless or hydrauliccommunication means, or otherwise. An example location for thecontroller 52 is depicted in FIG. 1. It will be understood, however,that other locations are possible including other locations on thefeller buncher 20, or various remote locations.

In some embodiments, the controller 52 may be configured to receiveinput commands via an input interface 64, which may be disposed inside acab 66 of the feller buncher 20 for easy access by an operator. Theinput interface 64 may be configured in a variety of ways. In someembodiments, the input interface 64 may include one or more joysticks,various switches or levers, a touchscreen interface, or various otherinput devices.

Various sensors may also be provided. In some embodiments, varioussensors 54 (e.g., pressure, flow or other sensors) may be disposed nearthe pumps 48 and valves 50, or elsewhere on the feller buncher 20). Insome embodiments, various sensors may be disposed near the felling head22. For example, sensors 56 may be disposed on or near the felling head22 in order to measure parameters including the rotational speed of thesaw disc 36, hydraulic pressure for driving the saw disc 36 (e.g., via ahydraulic motor (not shown)), proximity of objects to the felling head22, and so on. In some embodiments, sensors (e.g., linear positionsensors 58, 60 and 62) may be configured to determine the length of thecylinders 30, 44, and 46, respectively, or detect various otherindicators of the current orientation of the stick boom 24, hoist boom40, and felling head 22. Other sensors may also (or alternatively) beused. For example, angular position or displacement sensors may beutilized in place of the linear position sensors 58, 60 and 62, in orderto detect the angular orientation of the felling head 22, stick boom 24,and hoist boom 40, relative to each other or relative to the vehicleframe 42. In such a case, the detected angular orientations may providealternative (or additional) indicators of the current position of thestick boom 24, the hoist boom 40, and the felling head 22. Similarly, insome embodiments, the sensors 58, 60, and 62 or similar other sensorsmay alternatively (or additionally) be configured to detect the velocityof movement of the cylinders 30, 44, and 46, respectively.

The various components noted above (or others) may be utilized tocontrol movement of the felling head 22 via control of the movement ofthe various hydraulic cylinders 30, 44, and 46. Accordingly, thesecomponents may be viewed as forming part of the control system formovement of the felling head 22.

Generally, under the disclosed control system, and as discussed ingreater detail herein, a velocity input command may be provided via aninput interface in order to indicate a desired movement of the endeffector with a desired velocity. For example, joysticks or otherdevices may be actuated along various degrees of freedom to indicatedesired velocities for horizontal, vertical, and tilting movement of theend effector relative to a reference frame. Velocity commands forvarious actuators may be then determined in order to cause the endeffector to move with the desired velocity (or another correspondingvelocity). In this way, an operator may provide commands correspondingdirectly to a desired movement of the end effector, without concerningherself with the complexity of a set of corresponding movements of theactuators, which may vary considerably, for a desired movement of theend effector, depending upon the current orientation of the boomassembly 38. Accordingly, for example, identical input commands from anoperator may cause horizontal (or other) movement of the end effectorwith identical velocities, regardless of the current orientation of thevarious booms of the boom assembly.

In some embodiments, the disclosed control system may provide formultiple modes of operation, including one or more of a “joint” mode, afirst kinematic mode, and a second kinematic mode. In some embodiments,an input device (e.g., a switch on the input interface 64) may beprovided for an operator to actively select a particular mode ofoperation. In some embodiments, the control system may be configured toautomatically transition between the various modes based on a triggeringevent.

Generally, the joint mode may be a mode in which a machine operatorprovides separate velocity commands for each of several actuators for aboom assembly, so as to collectively move the end effector. With respectto the feller buncher 20, for example, an individual may provide inputcommands via the input interface 64 to directly indicate a desiredvelocity for the cylinders 30, 44, and 46, so as to change the relativepositions of the stick boom 24, the hoist boom 40 and the felling head22. In this regard, a velocity input command along a first degree offreedom (e.g., along a first axis of a first joystick of the inputinterface 64) may directly indicate a desired velocity for the hoistcylinder 46, in order to change the position of the hoist boom 40relative to the frame 42. A velocity input command along a second degreeof freedom (e.g., along a second axis for the first joystick) maydirectly indicate a desired velocity for the stick cylinder 44, in orderto change the position of the stick boom 24 relative to the hoist boom40. A velocity input command along a third degree of freedom (e.g.,along a particular axis for a second joystick of the input interface 64)may directly indicate a desired velocity for the tilt cylinder 30, inorder to tilt the felling head 22 relative to the stick boom 24. Thecontroller 52 may accordingly convert each of the velocity inputcommands to signals that produce the intended cylinder velocities, suchthat the cylinders move as desired.

In some implementations, the use of velocity input commands as a basisof determining target actuator velocities may be implemented in an openloop system. Inherently, for example, once the current orientation ofthe boom assembly 38 is known, the disclosed control system may allowthe felling head 22 to be moved with relatively high accuracy, withoutclosed loop feedback, based upon the velocity input commands. In someimplementations, however, the controller 52 (or other components) mayincorporate a feedback control system to regulate differences betweencommanded cylinder velocities in the joint mode (i.e., as indicated bythe velocity input commands) and the actual cylinder velocities (e.g.,as measured by the sensors 58, 60, and 62). In some embodiments, forexample, a closed loop PI feedback system may be used.

In contrast to the joint mode, the first kinematic mode may allow anoperator to provide velocity input commands that directly indicate adesired velocity of the end effector, rather than a desired velocity ofthe various actuators. For example, with respect to the feller buncher20, an operator may use input devices of the input interface 64 toprovide velocity input commands that directly indicate, relative to aparticular reference frame, a desired horizontal velocity of the fellinghead 22, a desired vertical velocity of the felling head 22, and adesired tilt velocity of the felling head 22. Based upon the currentorientation of the boom assembly 38, the controller 52 may then convertthe collective set of velocity input commands into signals that move thevarious cylinders 30, 44, and 46 with velocities that collectivelyproduce an aggregate velocity of the felling head 22 corresponding tothe velocity input commands. In some embodiments, for example, thecontroller 52 may receive signals from the various sensors 58, 60, and62 that indicate a current orientation of the various cylinders 30, 44,and 46 as well as receiving the velocity input commands via the inputinterface 64. Using lookup tables, sets of kinematic equations, or othertechniques, the controller 52 may then determine movements for theindividual cylinders 30, 44, and 46 that collectively produce thedesired aggregate velocity of the felling head 22.

In some implementations, the use of velocity input commands as a basisof determining target actuator velocities in the first kinematic modemay be implemented in an open loop system. Inherently, for example, oncethe current orientation of the boom assembly 38 is known, the disclosedcontrol system may allow the felling head 22 to be moved with relativelyhigh accuracy, without closed loop feedback, based upon the velocityinput commands. However, as in the joint mode, various feedback controlsystems may be used in the first kinematic mode to regulate differencesbetween the commanded end effector speeds (i.e., as indicated by thevelocity input commands) and the actual end effector speeds (e.g., asindicated by the collective output of sensors 58, 60, and 62). In someembodiments, for example, a closed loop PI feedback system may be used.

In a second kinematic mode, control similar to the first kinematic mode(or other modes) may be implemented, but the controller 52 may beconfigured to move the felling head 22 so as to ensure that the saw disc36 remains in a single plane (e.g., the cutting plane 36 a of the sawdisc 36) during the movement. This may be useful, for example, to cut astanding tree without requiring an operator to actively maintain aparticular orientation of the saw disc 36.

In the second kinematic mode, velocity input commands may take a varietyof forms. In some implementations, for example, velocity input commandsfor the second kinematic mode may include commands for desiredhorizontal and vertical movement of the felling head 22, but not for adesired tilt velocity of the felling head 22. A target tilt orientation(e.g., a target orientation of the cutting plane 36 a of the saw disc36) may then be determined based upon the desired translational movementand tilt velocity commands for the tilt cylinder 30 determinedaccordingly. In some implementations, a velocity input command for thesecond kinematic mode may indicate a desired movement direction of thefelling head 22 or a desired movement direction and velocity magnitude.Based upon this input, a target tilt orientation for the felling head 22(e.g., a target orientation of the cutting plane 36 a) may then bedetermined. In some implementations, a velocity input command for thesecond kinematic mode may include merely a command to initiate thesecond kinematic mode (e.g., to transition from the joint mode or firstkinematic mode). In such a case, for example, a target tilt orientationmay be determined based upon a current tilt orientation of the fellinghead 22, based upon a predetermined target tilt orientation (e.g., for aparticular type of cutting operation), or in other ways. In someimplementations, other alternative (or additional) input commands may beused.

In some implementations, the use of velocity input commands as a basisof determining target actuator velocities in the second kinematic modemay be implemented in an open loop system. Inherently, for example, oncethe current orientation of the boom assembly 38 is known, the disclosedcontrol system may allow the felling head 22 to be moved with relativelyhigh accuracy, without closed loop feedback, based upon the velocityinput commands. However, as in the joint and first kinematic modes,various feedback control systems may be used in the second kinematicmode to regulate differences between the commanded end effector speeds(e.g., as indicated by or determined from the velocity input commands)and the actual end effector speeds (e.g., as indicated by the collectiveoutput of sensors 58, 60, and 62). In some embodiments, for example, aclosed loop PI feedback system may be used.

It will be understood that the closed loop control system for one ormore of the modes discussed herein may include proportional, integral,or derivative gains (or various combinations thereof) to minimizevelocity differences, or errors, and that the values of the variousgains may be adjusted to provide speed controls that provide acceptablelevels for responsiveness and stability. Speed measurements for theclosed loop control system may be provided directly by velocitymeasurements from the sensors 58, 60, and 62, may be calculated by thecontroller 52 based on differences in cylinder length measurements overshort time intervals (e.g., as may be alternatively measured by thesensor 58, 60, and 62), or may be determined in various other ways.

The control scheme of using velocity input commands for an end effectorto determine velocity commands for various actuators may provide variousadvantages. For example, it may be relatively intuitive for an operatorof the feller buncher 20 to provide input commands corresponding to adesired aggregate velocity (or components thereof) of the felling head22, such that even relatively inexperienced operators may controlmovement of the felling head 22 with relative precision. Further, whenan operator ceases to provide velocity input commands, the system may beconfigured to effectively stop movement of the felling head 22, asappropriate. For example, where various joysticks are used to provideoperator input via the input interface 64, an operator releasing thejoysticks (or returning the joysticks to a home position) mayunambiguously indicate that the movement of the felling head 22 shouldcease. In contrast, for example, when an operator provides commands fortarget orientation of the felling head 22, it may sometimes be unclearwhether an end to the input command indicates a desire to stop themovement, or whether movement should continue until the felling head 22reaches the command orientation. Likewise, where various joysticks (orother devices) are used to provide position-based (rather thanvelocity-based) commands, and an operator releases the joysticks orreturns the joysticks to a home position, it may be unclear whether theoperator desires the felling head 22 to return to a home orientation,remain in the current orientation, or continue movement to a previouslycommanded orientation.

As another advantage of the disclosed system, movement of an endeffector corresponding to velocity input commands may be easily scaledin various ways through scaling of velocity output commands for therelevant actuators. For example, velocity input commands provided viathe input interface 64 may sometimes correspond to velocity outputcommands that would require an actuation of the various cylinders 30, 44and 46 that exceeds a current capability of the feller buncher 20 (e.g.,that exceeds, in aggregate, flow available from the pumps 48. If such adiscrepancy is identified (e.g., based upon monitoring of the relevantsystem components by the controller 52), the velocity output commandsfor the cylinder 30, 44, and 46 may be automatically reduced in order toprovide an aggregate movement of the felling head 22 that is similar,but generally slower, than the desired movement indicated by thevelocity input commands. Indeed, in certain embodiments, the desireddirection of movement may be maintained through a proportional (e.g.,equal percentage) reduction of the velocity output commands for each ofthe cylinders 30, 44, and 46.

Referring also to FIGS. 3A and 3B, one approach for implementing thefirst kinematic mode is to configure the controller 52 to acceptvelocity input commands for horizontal and vertical velocity of thefelling head 22 (e.g., as measured at the stick pin 26), and for thetilt velocity of the felling head 22 with respect to a Cartesiancoordinate system aligned with a reference frame of the feller buncher20. An example of such a coordinate system, referred to herein as a“machine reference frame,” is represented with respect to the fellerbuncher 20 in FIG. 3A, with horizontal direction 76 and verticaldirection 78. The input interface 64 may accordingly receive velocityinput commands indicating desired horizontal and vertical velocities ofthe felling head 22 with respect to the horizontal and verticaldirections 76 and 78 (e.g., velocity input commands provided alongrespective degrees of freedom), and velocity output commands indicatingtarget velocities for the cylinders 30, 44, and 46 may be determinedaccordingly.

In one implementation, an example of which is represented in FIG. 3B,lookup tables, kinematic equations, or other means may be used todetermine commanded velocities for various actuators that correspond toeach of a unit horizontal velocity movement of the end effector and aunit vertical velocity movement of the end effector. The determinedcommanded velocities for unit velocity movement of each of the actuatorsmay then be multiplied by the desired horizontal and vertical velocitiesof the end effector that correspond to received velocity input commandsfor, respectively, horizontal and vertical movement. The resultingcomponent velocities for each actuator (i.e., the velocities of eachactuator corresponding to the desired horizontal and vertical movements)may then be added to determine a final velocity output command for eachactuator, indicating, respectively, corresponding target actuatorvelocities.

Still referring to FIG. 3B, for example, velocity input commands 80 and82 for horizontal and vertical velocities, respectively, of the fellinghead 22 may be received along separate degrees of freedom at the inputinterface 64. Further, signals 84 and 86 indicating measured lengths (orother parameters, such as measured velocities) for the hoist cylinder 46and the stick cylinder 44, respectively, may be received from thesensors 62 and 60. The controller 52 may then process the velocity inputcommands 80 and 82 and the sensor signals 84 and 86 in order todetermine velocity commands for the cylinders 46 and 44, and therebyprovide the desired movement of the felling head 22.

As depicted, a lookup table 88 may provide an output value for a hoistcylinder velocity that may be required to produce, for a givenorientation of the boom assembly 38, a unit horizontal velocity of thestick pin 26 with zero vertical velocity of the stick pin 26. Thisnormalized cylinder velocity may then be multiplied 90 by the horizontalvelocity input command 80, in order to provide a component of a targetactuator velocity (and corresponding velocity output command) for thehoist cylinder 46 that corresponds to the desired horizontal movement ofthe stick pin 26. Similarly, a lookup table 92 may provide an outputvalue for a hoist cylinder velocity required to produce, for a givenorientation of the boom assembly 38, a unit vertical velocity of thestick pin 26 with zero horizontal velocity of the stick pin 26. Thisnormalized cylinder velocity may then be multiplied 94 by the verticalvelocity input command 82, in order to provide a component of a velocitycommand for the hoist cylinder 46 corresponding to the desired verticalmovement of the stick pin 26. The output values of the multiplicationblocks 90 and 94 may then be added 96 in order to determine a targetactuator velocity (and corresponding velocity output command 98) for thehoist cylinder 46.

In a similar fashion, the velocity input commands 80 and 82 and thesensor signals 84 and 86 may be processed to determine a target actuatorvelocity (and corresponding velocity output command 100) for the stickcylinder 44. For example, a lookup table 102 may provide an output valuefor a stick cylinder velocity required to produce, for a givenorientation of the boom assembly 38, a unit horizontal velocity of thestick pin 26 with zero vertical velocity of the stick pin 26. Thisnormalized cylinder velocity may then be multiplied 104 by thehorizontal velocity input command 80, in order to provide a component ofthe target actuator velocity (and corresponding velocity output command100) for the stick cylinder 26 that corresponds to the desiredhorizontal movement of the stick pin 26. Similarly, a lookup table 106may provide an output value for a stick cylinder velocity required toproduce, for a given orientation of the boom assembly 38, a unitvertical velocity of the stick pin 26, with zero horizontal velocity ofthe stick pin 26. This normalized cylinder velocity may then bemultiplied 108 by the vertical velocity input command 82, in order toprovide a component of the target actuator velocity (and thecorresponding velocity output command 100) for the stick cylinder 26that corresponds to the desired vertical movement of the stick pin 26.The output values of the multiplication blocks 104 and 108 may then beadded 110 in order to determine the target actuator velocity (andcorresponding velocity output command 100) for the hoist cylinder 46.

It will be understood, for the implementation represented in FIG. 3B,and other implementations, that other calculation methods and controlstrategies may be used. For example, rather than use the lookup tables88, 92, 102 and 106, the controller 52 may be configured to solvevarious kinematic equations for the boom assembly 38 in order todetermine the appropriate velocity commands for the cylinders 44 and 46.

Referring also to FIG. 4, an example approach for achieving a desiredtilt velocity for the felling head 22 is represented, for the firstkinematic mode. Under this example approach, components of targetactuator velocities (and corresponding velocity output commands) for thecylinders 44 and 46 may be determined as described with respect to FIG.3B, but with additional input to the various lookup tables relating tothe current tilt orientation of the felling head 22. Further, anotherlookup table (or similar means) may be used to determine commandvelocities for the tilt cylinder 30 that correspond to a unit tiltvelocity of the felling head 22.

As depicted in FIG. 4, for example, velocity input commands 120, 122,and 124 for horizontal, vertical and tilt velocities, respectively, ofthe felling head 22 may be received along separate degrees of freedom atthe input interface 64. Further, signals 126, 128, and 130 indicatingmeasured lengths (or other parameters, such as measured velocities) forthe hoist cylinder 46, the stick cylinder 44, and the tilt cylinder 30,respectively, may be received from the sensors 62, 60, and 58. In someimplementations, the velocity input commands 120 and 122 and the sensorsignals 126 and 128 may be the same as the velocity input commands 80and 82, and sensor signals 84 and 86, respectively.

The controller 52 may process the velocity input commands 120, 122, and124 and the sensor signals 126, 128, and 130 in order to determinevelocity commands for the tilt cylinder 30, and thereby provide thedesired tilt velocity of the felling head 22. For example, lookup table132 may provide an output value for a tilt cylinder velocity that may berequired to maintain, for a given orientation of the boom assembly 38and during a unit horizontal velocity movement of the felling head 22, aconstant tilt orientation of the felling head 22 relative to thereference frame of FIG. 3A (i.e., to produce zero tilt velocity for thefelling head 22 during a commanded horizontal movement). This normalizedtilt cylinder velocity may then be multiplied 134 by the horizontalvelocity input command 120, in order to provide a component of a targetactuator velocity (and a corresponding velocity output command 146) forthe tilt cylinder 30 corresponding to the maintaining of the fellinghead 22 at a constant tilt orientation during the commanded horizontalmovement.

Similarly, lookup table 136 may provide an output value for a tiltcylinder velocity that may be required to maintain, for a givenorientation of the boom assembly 38 and during a unit vertical velocitymovement of the felling head 22, a constant tilt orientation of thefelling head 22 relative to the reference frame of FIG. 3A (i.e., toproduce zero tilt velocity for the felling head 22 during a commandedvertical movement). This normalized tilt cylinder velocity may then bemultiplied 138 by the vertical velocity input command 122, in order toprovide a component of the target actuator velocity (and a correspondingvelocity output command 146) corresponding to the maintaining of thefelling head 22 at a constant tilt orientation during the commandedvertical movement.

Further, lookup table 140 may provide an output value for a tiltcylinder velocity that may be required to rotate the felling head with aunit tilt velocity when the velocity of the stick pin 26 is zero (i.e.,to produce a commanded tilt velocity when there is no concurrenthorizontal or vertical movement of the felling head 22). This tiltcylinder velocity may then be multiplied 142 by the tilt velocity inputcommand 124 in order to provide a component of the target actuatorvelocity (and a corresponding velocity output command 146).

The output values of the multiplication blocks 134, 138 and 142 may thenbe added 144 in order to determine the total target actuator velocity(and the corresponding velocity output command 146) for the tiltcylinder 30. In this way, for any commanded translational movement ofthe felling head 22 (e.g., as indicated by the velocity input commands120 and 122), a target tilt actuator velocity (e.g., as corresponds tothe tilt velocity output command 146) may be determined so as toimplement a commanded tilt velocity of the felling head 22 (e.g., asindicated by the velocity input command 124).

In other implementations, other approaches may be used. In someimplementations, for example, tilt control for an end effector may belinearized, such that a constant actual tilt velocity may be providedfor a given tilt velocity input command, regardless of the current (and,potentially, changing) orientation of the relevant boom assembly.Generally, for example, lookup tables, kinematic equations, or othermeans may provide values for angular velocities of a boom to which anend effector is attached, which may be required to produce a unithorizontal velocity and zero vertical velocity of an end effector, for acurrent orientation of a boom assembly. Similarly, values may beprovided for angular velocities of the boom that may be required toproduce a unit vertical velocity and zero horizontal velocity of the endeffector. These values may then be multiplied, respectively, byhorizontal and vertical velocity input commands and the results addedtogether, such that an aggregate angular velocity of the boom for thecommanded translational movement may be obtained. Values may then beprovided (e.g., via lookup tables or equations) for tilt cylindervelocities that maintain a constant tilt orientation of the end effectorfor a unit angular velocity of the boom, and these values may bemultiplied by the aggregate angular velocity described above to providea component of a target tilt actuator velocity (and corresponding tiltvelocity output command) for the tilt actuator that may be required tomaintain a constant tilt orientation of the end effector for thecommanded translational movement. Finally, a component of the targetactuator velocity (and corresponding tilt velocity output command) maybe determined that may provide a commanded tilt velocity during zerotranslational movement of the end effector (e.g., as described abovewith respect to lookup table 140 of FIG. 4), and the two components ofthe tilt velocity output command may be added together to provide atarget actuator velocity (and corresponding velocity output command)that may provide the desired aggregate tilting movement.

Referring also to FIG. 5, for example, velocity input commands 160, 162,and 164 may be received via the input interface 64 for desiredhorizontal, vertical and tilt velocities of the felling head 22,respectively. As with the velocity inputs of other examples, the inputs160, 162 and 164 may be received, in some implementations, alongseparate degrees of freedom. For example, the velocity input command 160may be received along a first degree of freedom with a first joystick ofthe input interface 64, the velocity input command 162 may be receivedalong a second degree of freedom with the first joystick, and thevelocity input command 164 may be received along a third degree offreedom with another joystick (or other device) of the input interface64. In other implementations, other arrangements may also be possible.

As depicted in FIG. 5, the lookup table 172 may provide an output valuefor an angular velocity of the stick boom 24 that may be required toproduce, for a current orientation of the boom assembly 38, a unithorizontal velocity of the stick pin 26 and zero vertical velocity ofthe stick pin 26. Similarly to the implementations discussed above, thecurrent orientation may be indicated by sensor signals 166 and 168,which may indicate current orientations of the hoist and stick cylinders46 and 44. The output of the lookup table 172 may then be multiplied 174by the horizontal velocity input command 160, such that the productrepresents the angular velocity of the stick boom 24 required to producethe desired horizontal velocity of the felling head 22.

Continuing with regard to FIG. 5, the lookup table 176 may provide anoutput value for the angular velocity of the stick boom 24 that may berequired to produce, for a current orientation of the boom assembly 38,a unit vertical velocity of the stick pin 26 along with zero horizontalvelocity of the stick pin 26. As above, the current orientation of theboom assembly 38 may be indicated by the sensor signals 166 and 168. Theoutput of the lookup table 176 may then be multiplied 178 by thevertical velocity input command 162, such that the product representsthe angular velocity of the stick boom 24 required to produce thedesired vertical velocity of the felling head 22. The results of themultiplications 174 and 178 may then be added 180 in order to provide acombined angular velocity of the stick boom 24 that will provide thedesired horizontal and vertical velocities of the felling head 22.

Meanwhile, the lookup table 182 may provide values for a tilt cylindervelocity that may be required to maintain a zero angular velocity of thefelling head 22 for a unit angular velocity of the stick boom 24 (e.g.,1 radian/second), based on the current orientation of the boom assembly38. As depicted, the current orientation may be indicated by the sensorsignals 166 and 168, and by a sensor signal 170 corresponding to thecurrent disposition of the tilt cylinder 30. The output of the lookuptable 182 may then be multiplied 184 by the result of the addition 180,in order to provide a tilt cylinder velocity that is required tomaintain zero tilt velocity of the felling head 22 for the commandedhorizontal and vertical velocities of the felling head 22 (i.e., asindicated by the velocity input commands 160 and 162).

A further lookup table 186 may then be configured similarly to thelookup table 140 of FIG. 4, such that the lookup table 186 may providean output value for a tilt cylinder velocity required to rotate thefelling head with a unit tilt velocity when the velocity of the stickpin 26 is zero. This normalized cylinder velocity may then be multiplied188 by the tilt velocity input command 164 such that the productindicates a tilt cylinder velocity that may correspond to the tiltvelocity input command 164. This product may then be added 190 to theproduct of the multiplication 184 in order to determine a total targetactuator velocity (and a corresponding velocity output command 192) forthe tilt cylinder 30 that may provide the commanded tilt velocity duringthe commanded translational movement.

In other implementations, velocity input commands may be provided, andtarget actuator velocities (and corresponding velocity output commands)determined, with respect to a different reference frame than thatdepicted in FIG. 3A. For example, referring also to FIG. 6A, oneapproach for implementing the first kinematic mode may includeconfiguring the controller 52 to accept velocity input commands forhorizontal and vertical velocity of the felling head 22 (e.g., asmeasured at the stick pin 26), and for the tilt velocity of the fellinghead 22, with respect to a Cartesian coordinate system aligned with areference frame of the felling head 22 itself (generally referred toherein as an “end effector reference frame”). An example of such acoordinate system is represented with respect to the feller buncher 20in FIG. 6A, with a horizontal direction 200 and a vertical direction202. As depicted, the horizontal direction 200 may be aligned with thecutting plane 36 a of the disc saw 36. It will be understood, however,that other implementations are possible.

FIG. 6B depicts an implementation that utilizes the reference frame ofFIG. 6A, although other implementations may be possible. As depicted,velocity input commands 204, 206, and 208 may be received along separatedegrees of freedom at the input interface 64, with the commands 204,206, and 208 indicating, respectively, desired horizontal, vertical andtilt velocities of the felling head 22, with respect to the referenceframe of FIG. 6A. Accordingly, as depicted, the received velocity inputcommands 204, 206, and 208 may correspond, respectively, to a desiredmovement of the felling head 22 along the cutting plane 36 a of the sawdisc 36, a desired movement of the felling head 22 perpendicular to thecutting plane 36 a, and a desired tilting of the felling head 22relative to the cutting plane 36 a. Similarly to discussion above,signals 210, 212, and 214 may be received from the sensors 62, 60, and58, and may indicate measured lengths (or other parameters, such asmeasured velocities) for the hoist cylinder 46, the stick cylinder 44,and the tilt cylinder 30, respectively.

The controller 52 may process the velocity input commands 204, 206, and208 and the sensor signals 210, 212, and 214 in order to determinevelocity commands for the cylinders 46 and 44, and thereby provide thedesired movement of the felling head 22. For example, lookup tables 216,218, and 220 may provide, respectively, values for the hoist cylindervelocity, the stick cylinder velocity, and the tilt cylinder velocitythat may be required to produce a unit horizontal velocity of thefelling head 22 (with respect to the reference frame of FIG. 6A) whenthere are no velocity input commands for vertical or tilt velocities forthe felling head 22. Accordingly, based upon the current orientation ofthe felling head 22, as indicated by the signals 210, 212, and 214, theoutputs of the tables 216, 218, and 220 may be multiplied by thehorizontal velocity input command 204 to indicate, respectively,components of a target hoist cylinder velocity (and a correspondinghoist cylinder velocity output command 228), a target stick cylindervelocity (and a corresponding stick cylinder velocity output command230), and a target tilt cylinder velocity (and a corresponding tiltcylinder velocity command 232) that may correspond to movement of thefelling head 22 that correspond to the horizontal velocity input command204.

Further, lookup tables 234, 236, and 238 may provide, respectively,values for the hoist cylinder velocity, the stick cylinder velocity, andthe tilt cylinder velocity that may be required to produce a unitvertical velocity of the felling head 22 (with respect to the referenceframe of FIG. 6A) when there are no velocity input commands forhorizontal or tilt velocities for the felling head 22. Accordingly,based upon the current orientation of the felling head 22, as indicatedby the signals 210, 212, and 214, the outputs of the tables 234, 236,and 238 may be multiplied 240, 242, and 244, respectively, by thevertical velocity input command 206 to indicate, respectively,components of the target hoist cylinder velocity (and the hoist cylindervelocity output command 228), the target stick cylinder velocity (andthe stick cylinder velocity output command 230), and the target tiltcylinder velocity (and the tilt cylinder velocity command 232) thatcorrespond to the vertical velocity input command 206.

Similarly to the discussion of lookup tables 140 and 186, above, alookup table 246 may further provide, based upon the current tiltorientation of the felling head 22 (as indicated by the signal 214), anoutput value for a tilt cylinder velocity that may be required to rotatethe felling head 22 with a unit tilt velocity when the velocity of thestick pin 26 is zero. This normalized cylinder velocity may then bemultiplied 248 by the tilt velocity input command 208 in order toprovide a target tilt cylinder velocity (and corresponding tilt velocityoutput command) that corresponds to the tilt velocity input command 208.

The components of target tilt cylinder velocities (and the correspondingtilt cylinder velocity output commands) that may be derived from thevelocity input commands 204, 206 and 208 and the lookup tables 220, 236,and 246 may then be added 250 in order to determine the target tiltcylinder velocity (and the corresponding total tilt velocity outputcommand 232) for the tilt cylinder 30. Similarly, the components ofstick cylinder velocity output commands derived from the velocity inputcommands 204, 206 and 208 and the lookup tables 218 and 236 may be added252 in order to determine the target stick cylinder velocity (and thecorresponding total velocity output command 230) for the stick cylinder44. Further, the output values for the hoist cylinder velocities derivedfrom the velocity input commands 204, 206 and 208 and the lookup tables216 and 234 may be added 254 in order to determine the target hoistcylinder velocity (and the corresponding total velocity output command228) for the hoist cylinder 46. In this way, operator input for movementof the felling head 22 relative to the reference frame of FIG. 6A may betranslated into appropriate velocity commands for the various cylinders30, 44, and 46.

In another implementation, velocity input commands may partly indicate adesired velocity for one or more actuators and may partly indicate adesired velocity for the end effector itself. For example, thecontroller 52 of the feller buncher 20 may be configured to receive afirst velocity input command for the hoist cylinder (e.g., rather thanfor a vertical velocity of the felling head 22), a second velocity inputcommand for horizontal movement of the felling head 22 (e.g., relativeto the reference frame of FIG. 6A), and a third velocity input commandfor tilt velocity of the felling head 22.

Referring also to FIG. 7, in some implementations, velocity inputcommands 260, 262, and 264 may be received along separate degrees offreedom at the input interface 64 to indicate, respectively, desiredhoist cylinder velocity, desired horizontal velocity of the felling head22 with respect to the reference frame of FIG. 6A, and desired tiltvelocity of the felling head 22. Accordingly, the received velocityinput commands 260, 262, and 264 may correspond, respectively, to adesired movement of the hoist cylinder 46, a desired movement of thefelling head 22 along the cutting plane 36 a of the saw disc 36 (or inanother direction, for another reference plane), and a desired tiltingof the felling head 22. Signals 266, 268, and 270 indicating measuredlengths (or other parameters, such as measured velocities) for the hoistcylinder 46, the stick cylinder 44, and the tilt cylinder 30,respectively, may be received from the sensors 62, 60, and 58.

The controller 52 may then process the velocity input commands 260, 262,and 264 and the sensor signals 266, 268, and 270 in order to determinevelocity output commands for the cylinders 30, 44, and 46 and therebyprovide the desired movement of the felling head 22. For example, lookuptables 272, 274, and 276 may provide, respectively, values for hoistcylinder velocity, stick cylinder velocity, and tilt cylinder velocitythat are required to produce a unit horizontal velocity of the fellinghead 22 (with respect to the reference frame of FIG. 6A) when there areno velocity input commands for the hoist cylinder 46 and no velocityinput commands for tilt velocities for the felling head 22. Accordingly,based upon the current orientation of the felling head 22, as indicatedby the signals 266, 268 and 270, the output of the tables 272, 274, and276 may be multiplied by the horizontal velocity input command 262 toindicate components, respectively, of a hoist cylinder velocity outputcommand 278, a stick cylinder velocity output command 280, and a tiltcylinder velocity command 282, that may correspond to the horizontalvelocity input command 262. Similarly, the lookup table 296 may providea value for tilt cylinder velocity that may be required to rotate thefelling head 22 with a unit tilt velocity when the horizontal andvertical velocities of the felling head are equal to zero. Thisnormalized tilt cylinder velocity may then be multiplied by the tiltvelocity input command 264 in order to provide a further component oftilt cylinder velocity command 282. As depicted, the lookup table 296accordingly operates as a function of signal 270 for current tiltcylinder orientation.

Still referring to FIG. 7, the controller 52 may multiply 292 the outputof the lookup table 272 by the horizontal velocity input command 262,then add 294 the result to the hoist cylinder velocity input command 260in order to determine the velocity output command 278 for the hoistcylinder 46. Further, the controller 52 may multiply 284 the output ofthe lookup table 274 by the horizontal velocity input command 262 inorder to determine the velocity output command 280 for the stickcylinder 44. The controller 52 may also multiply 286 the output of thelookup table 276 by the horizontal velocity input command 262, multiply288 the output of the lookup table 296 by the tilt velocity inputcommand 264, and add 290 the results of the multiplications 286 and 288in order to determine the velocity output command 282 for the tiltcylinder 30.

In another implementation, the controller 52 may be configured toreceive velocity input commands relating to a gravitational referenceframe, but the target actuator velocities (and corresponding velocityoutput commands) may be determined with respect to a machine referenceframe. Referring to FIG. 8B, for example, velocity input commands 310,312, and 314 received at the controller 52 (e.g., via the inputinterface 64) may indicate, respectively, a desired horizontal velocityof the felling head 22 with respect to a horizontal direction 300 (i.e.,as determined relative to gravity), a desired vertical velocity of thefelling head 22 with respect to a vertical direction 302 (i.e., asdetermined relative to gravity), and a desired tilt velocity of thefelling head 22. These values may then be converted to a reference framealigned with the nominal orientation of the feller buncher 20 (e.g.,with horizontal and vertical axes 304 and 306) before being processedinto velocity output commands in various ways (e.g., as described abovewith regard to FIGS. 3 through 7).

In some implementations, an accelerometer 316 or other sensor (notshown) may be utilized to identify an orientation of the feller buncher20 with respect to gravity. The velocity input commands 310 and 312 maythen be received with respect to the gravitational coordinate system(e.g., along the horizontal direction 300 and the vertical direction302), and converted to horizontal and vertical velocity commands withrespect to the orientation of the feller buncher 20 (e.g., along ahorizontal direction 304 and a vertical direction 306) before targetvelocities (and corresponding velocity output commands) for the variouscylinders 30, 44, and 46 are determined. For example, the accelerometer316 may determine that the feller buncher 20 is oriented at an angle 308(also, herein, “θ”) with respect to the horizontal direction 300 in thegravitational reference frame. As such, horizontal input velocities(“vx_(gravity)”) with respect to the horizontal direction 300 andvertical input velocities (“vy_(gravity)”) with respect to the verticaldirection 302 may be converted to horizontal input velocities(“VX_(machine)”) with respect to the horizontal direction 304 andvertical input velocities (“vy_(machine)”) with respect to the verticaldirection 306 as:vx _(machine) =vx _(gravity) cos θ+vy _(gravity) sin θ,andvy _(machine) =−vx _(gravity) sin θ+vy _(gravity) cos θ.The appropriate velocity commands for the various cylinder 30, 44, and46 may then be determined in various ways, as described throughout thisdisclosure (e.g., as outlined with respect to FIGS. 3 through 7).

It will be understood that the various velocity input commands (e.g.,the velocity input commands 120, 122, and 124 of FIG. 4) may be providedsimultaneously, or may be provided in any order. Further, it will beunderstood that non-zero velocity input commands may have positive ornegative values, such that a negative velocity command results in motionin the direction opposite to the motion produced with a positivevelocity command. Further, it will be understood that the inputinterface 64 may include various devices to receive velocity inputcommands, including joysticks, knobs, slider controls, or any otherdevice capable of providing a range of signals to the controller 52.Finally, as noted above, the control system may be configured such thatthe controller 52 provides output velocity commands only when thevelocity input commands are non-zero. In this way, for example, if anoperator ceases to provide velocity input commands with respect aparticular direction of motion, the felling head 22 will be caused tostop moving in that particular direction.

In some implementations, velocity input commands for horizontal movementof an end effector may be provided at an input interface along a firstdegree of freedom, velocity input commands for vertical movement of anend effector may be provided at an input interface along a second degreeof freedom, and velocity input commands for tilting movement of an endeffector may be provided at an input interface along a third degree offreedom. Further, in some implementations, the relative amount ofmovement of an input device included in the input interface (e.g., alonga particular degree of freedom) may indicate a relative velocity scalefor the desired movement of the end effector.

Referring to FIG. 9A, in some implementations, a joystick 322 may beprovided as part of the input interface 64. In order to provide velocityinput commands for movement of the felling head 22, an operator mayengage a control stick 324 of the joystick 322, with variousdisplacements of the control stick 324 corresponding to various velocityinput commands. In certain embodiments, the joystick 322 may beconfigured to receive velocity input commands via movement along twodegrees of freedom, with displacement along a first degree of freedomcorresponding to horizontal velocity input commands and displacementalong a second degree of freedom corresponding to vertical velocityinput commands. As depicted in FIG. 9A, for example, an operator maymove the control stick 324 along a first degree of freedom 326 (e.g., upor down, as depicted) in order to provide a horizontal velocity inputcommand with respect to a particular frame of reference. (It will beunderstood that the orientation of the first degree of freedom 326 ispresented as an example only.) When provided with respect to a machinereference frame, for example, displacement of the control stick 324along the degree of freedom 326 may provide a horizontal velocity inputcommand for movement of the felling head 22 along arrow 328 of FIG. 9B.Similarly, when provided with respect to an end effector referenceframe, displacement of the control stick 324 along the degree of freedom326 may provide a horizontal velocity input command for movement of thefelling head 22 along arrow 330 of FIG. 9C. Further, when provided withrespect to a gravitational reference frame, displacement of the controlstick 324 along the degree of freedom 326 may provide a horizontalvelocity input command for movement of the felling head 22 along arrow332 of FIG. 9C.

Similarly, referring to FIG. 10A, an operator may move the control stick324 along a second degree of freedom 334 in order to provide a verticalvelocity input command with respect to a particular frame of reference.When provided with respect to a machine reference frame, for example,displacement of the control stick 324 along the degree of freedom 334(e.g., left or right, as depicted) may provide a vertical velocity inputcommand for movement of the felling head 22 along arrow 336 of FIG. 10B.(It will be understood that the orientation of the second degree offreedom 334 is presented as an example only.) Likewise, when providedwith respect to an end effector reference frame, displacement of thecontrol stick 324 along the degree of freedom 334 may provide a verticalvelocity input command for movement of the felling head 22 along arrow338 of FIG. 10C. Further, when provided with respect to a gravitationalreference frame, displacement of the control stick 324 along the degreeof freedom 334 may provide a vertical velocity input command formovement of the felling head 22 along arrow 340 of FIG. 10C.

In this light, movements of the control stick 324 that are providedalong both degrees of freedom 326 and 334 may correspond to acombination of horizontal and vertical velocity input commands.Referring to FIG. 11A, for example, the control stick 324 may be movedin a variety of directions (e.g., in either direction along arrows 342and 344), in order to simultaneously provide horizontal and verticalvelocity input commands. When provided with respect to a machinereference frame, for example, simultaneous displacement of the controlstick 324 along either of the example directions 342 and 344 (i.e.,simultaneously along both degrees of freedom 326 and 334) may providehorizontal and vertical velocity input commands for movement of thefelling head 22 in the direction of both arrows 346 and 348 of FIG. 11B.Similarly, when provided with respect to an end effector referenceframe, displacement of the control stick 324 along either of thedirections 342 and 344 may provide combined horizontal and verticalvelocity input commands for movement of the felling head 22 in thedirection of both arrows 350 and 352 of FIG. 11C. Further, when providedwith respect to a gravitational reference frame, displacement of thecontrol stick 324 along either of the directions 342 and 344 may providehorizontal and vertical velocity input commands for movement of thefelling head 22 in the direction of both arrows 350 and 352 of FIG. 11D.It will be understood that the orientation of the directions 346 and344, as well as the orientation of the degrees of freedom 326 and 334,are presented only as examples.

Still referring to FIGS. 9A, 10A and 11A, in some implementations,displacement of the control stick 324 by various amounts may correspondto velocity input commands of various magnitudes. Movement of thecontrol stick 324 to a first inclination (e.g., so as to intersect afirst reference line 358), for example, may correspond to a velocityinput command that is somewhat smaller in magnitude than a velocityinput command corresponding to movement of the control stick 324 to asecond inclination (e.g., so as to intersect a second reference line360). In different implementations, the relative magnitudescorresponding to the different inclinations (e.g., to the differentreference lines 358 and 360) may vary proportionally to the degree ofinclination of the control stick 324 (or degree of displacement ormovement of other input devices), or in various other ways. In someimplementations, the speed of movement of an input device mayadditionally (or alternatively) inform the magnitude of thecorresponding velocity input command. For example, a faster movement ofthe control stick 324 to the first reference line 358 may indicate avelocity input command of greater magnitude than a slower movement ofthe control stick 324 to the first reference line 358.

It will be understood that the joystick 322 of FIGS. 9A through 11A ispresented only as an example input device. In other implementations,other input devices may be utilized, including levers, knobs, switches,dials, and so on. In some implementations, such other input devices maybe configured to receive input movements similarly to the joystick 322(e.g., along multiple degrees of freedom or with varying degrees ofmovement indicating different velocity magnitudes).

Referring also to FIG. 12A, in some implementations, an input device ofthe input interface 64 may alternatively (or additionally) be configuredas an input lever 368 with a single degree of freedom. As with thecontrol stick 324, movement of the lever 368 along the degree of freedommay correspond to a velocity input command of a particular type. Asdepicted, for example, movement of the lever 368 along the degree offreedom 366 may correspond to velocity input commands for tiltingmovement of the felling head 22. Accordingly, as a result of aparticular displacement of the lever 368, the felling head may providevelocity input commands for movement of the felling head 22 in thedirection of arrows 370, 372, and 374 of FIGS. 12B, 12C and 12D,respectively. In some implementations, displacement of the lever 368 todifferent degrees (e.g., to different reference lines 376 and 378 ofFIG. 12A) or at different rates may correspond to tilt velocity inputcommands of different magnitudes.

As depicted, the reference lines 376 and 378 are oriented symmetricallyto either side of a home position 368 a of the lever 368, such thatequal displacements of the lever 368 in either direction from the homeposition may correspond to velocity input commands of equal magnitudes,but opposite direction. Referring again to FIGS. 9A through 11A, thejoystick 322 may be similarly configured, such that equal displacementof the control stick 324 in opposite directions may correspond tovelocity input commands of equal magnitudes, but opposite direction. Inother embodiments, including with respect to the lever 368, the joystick322 or other input devices, other arrangements may be possible. Forexample, displacement of the lever 368 (or other device) to a certaindegree in one direction may indicate a velocity input command of greatermagnitude than displacement of the lever 368 (or other device) to thesame degree but in a different direction. This may be useful, forexample, to provide for generally faster forward and upward movement ofan end effector, but generally slower rearward and downward movement.

In some implementations, as also discussed above, a second kinematicmode may be possible, in which a particular tilt orientation of thefelling head 22 may be maintained throughout a commanded motion. Thismay be useful, for example, in order to execute a cutting operation fora tree in which the cutting disc 36 is maintained at a particular tiltorientation and is moved in parallel with the particular tiltorientation (e.g., along a particular cutting plane). Referring to FIG.13A, for example, an operator may desire to cut a slanted tree 382 withthe felling head 22. Under conventional systems, the operator may berequired to carefully and manually control the movement of the fellinghead 22 such that the saw disc 36 (see FIG. 1) is moved along thecutting plane 36 a (see FIG. 1) during the cut. In contrast, under thesecond kinematic mode, the controller 52 may automatically move thefelling head 22 along a direction 384 aligned with the cutting plane 36a, such that the tree 382 may be cut without elevated risk of the sawdisc 36 binding.

An operator may provide various velocity input commands with respect tothe second kinematic mode. In some implementations, for example, anoperator may provide a target tilt orientation and the controller 52 maydetermine and implement commands to move the felling head 22 along acutting plane defined by the target tilt orientation, whilesimultaneously maintaining the target tilt orientation for the fellinghead 22. Accordingly, for example, velocity commands for the variouscylinders 30, 44, and 46 may be determined in a similar manner to thatdiscussed above regarding the first kinematic mode (see, e.g.,discussion of FIGS. 3 through 7). Additional constraints may be applied,however, in order to ensure that the target tilt orientation ismaintained. For example, the various velocity input commands forhorizontal and vertical velocity may be automatically determined basedupon the target tilt orientation and a target aggregate translationalvelocity (e.g., a default cutting velocity, a target translationalvelocity provided by the operator, or another target velocity), or tiltvelocity output commands may be automatically determined based upon thetarget tilt orientation or the target aggregate translational velocity(e.g., rather than based upon active tilt velocity input commands froman operator).

Operation in the second kinematic mode may be initiated based on variousinputs. In some implementations, for example, sensors on the fellinghead (or elsewhere) may detect a proximity of a tree to be cut (or otherparameters) and velocity commands for the felling head 22 may bedetermined accordingly. As another example, operation in the secondkinematic mode may be triggered based upon a particular operation orsequence of operations. In some implementations, for example, aparticular movement or series of movements of the boom assembly 38 orthe feller buncher 20 may be determined to generally precede a cuttingoperation, such that the execution of the particular movement or seriesof movements may automatically initiate the second kinematic mode.

As noted above, the second kinematic mode may be implemented based onvarious considerations. A number of considerations, however, may be thesame for various different implementations. For example, thetranslational trajectory for the felling head 22 (e.g., as measured atthe stick pin 26) may generally be established before the full set ofvelocity commands for the cylinders 30, 44, and 46 may be determined.The controller 52 may then determine the velocity commands for thecylinders 30, 44, and 46 such that zero tilt velocity is maintained forthe felling head 22 and the saw disc 36 remains in a single plane duringthe felling head movement.

In some implementations of the second kinematic mode, an operator mayprovide a target aggregate translational velocity for the felling head22 (e.g., target horizontal and vertical velocity input commands, withrespect to a particular reference frame), and the controller 52 maydetermine and implement commands to move the felling head 22 along atarget velocity direction corresponding to the aggregate translationalvelocity, while also maintaining a parallel tilt orientation of thefelling head 22. In such a case, velocity commands for the variouscylinder 30, 44, and 46 may, for example, be determined similarly to thediscussion above regarding the first kinematic mode. The tilt velocityinput commands, however, may be determined based upon the targetaggregate translational velocity (e.g., determined as the anglecorresponding to the orientation of a vector sum of the horizontal andvertical velocity input commands, with respect to the relevant referenceframe).

In some implementations, the operator may provide velocity inputcommands for the translational velocity of the felling head 22 as afixed or varying command after the second kinematic mode is initiated.For example, the operator may provide velocity input commands forparticular horizontal and vertical velocities of the felling head 22(with respect to a particular reference frame) or may provide a velocityinput command corresponding to a magnitude of the desired aggregatetranslational velocity. In the latter case, the operator may alsoprovide a velocity input command indicating the direction of theaggregate translational movement, or the controller 52 may automaticallydetermine an appropriate direction based upon a specified (ordetermined) tilt orientation of the felling head 22.

In some implementations, the operator may provide velocity inputcommands continually through the execution of the second kinematic mode,such that the operator continually controls the velocity magnitude ofthe cut. The controller 52 may then provide command velocities to thevarious cylinders 30, 44, and 46 only while the operator is providing acommand for the stick pin velocity magnitude. In some implementations,the operator may provide such input commands only at the start of thesecond kinematic mode (or at another discrete time), such that theoperator specifies an initial (or other) velocity magnitude (and, insome implementations, velocity direction) that is maintained over time.

Referring to FIG. 13B, for example, the joystick 322 may sometimes beused in the second kinematic mode to provide velocity input commands fora particular horizontal and vertical velocities of the felling head 22(with respect to a particular reference frame). For example, moving thecontrol stick 324 in the direction 386 to the reference line 360 mayindicate a desired translational velocity of a particular direction andmagnitude. Based upon initiation of the second kinematic mode via a modeswitch 388, the controller 52 may determine a target tilt orientation(e.g., a tilt orientation corresponding to the indicated translationaldirection) and move the felling head 22 along the indicated direction,with the indicated velocity magnitude, while maintaining the target tiltorientation.

In some implementations, the mode switch 388 may be utilized to controloperation in other modes. For example, sliding the mode switch 388 to afirst setting may implement the joint mode, sliding the mode switch 388to a second setting may implement the first kinematic mode, and slidingthe mode switch 388 to a third setting may implement the secondkinematic mode. In some embodiments, the mode switch 388 may be biased(e.g., spring-loaded), such that the mode switch 388 tends to return toa default position. Such a configuration may, for example, ensure thatthe control system operates in a particular mode (e.g., the firstkinematic mode) as a default. In some embodiments, the mode switch 388may be mounted (e.g., as a thumb switch) to other input devices, such asthe tilt lever 368 (see FIG. 12A).

As another example of operations under the second kinematic mode, movingthe control stick 324 in the direction 386 may indicate a desiredtranslational direction, but not a desired translational velocitymagnitude. Rather, the translational velocity magnitude may bedetermined based upon other considerations, such as other operatorinput, a default velocity magnitude (e.g., for a particular tree,machine, operator, and so on), a current system capability (e.g., acurrent free capacity of the pumps 48), and so on. In such a case, theoperator may separately indicate a target tilt orientation, or thecontroller 52 may automatically determine the target tilt orientation(e.g., a tilt orientation corresponding to the translational direction).The felling head 22 may then be moved along the direction indicated bythe operator-provided velocity input command, with the determinedvelocity magnitude, while maintaining the target tilt orientation.

As also noted above, in some implementations, the operator may berequired to provide velocity input commands continually through theexecution of the second kinematic mode. For example, the magnitude orthe direction of a felling head movement in the second kinematic modemay be continually controlled via input received at the joystick 322.Contrastingly, in some implementations, the operator may providevelocity input commands only at the start of the second kinematic mode.For example, the magnitude or direction of a felling head movement inthe second kinematic mode may be provided via an initial input receivedat the joystick 322, but the operator may thereafter release thejoystick 322 without necessarily stopping the movement of the fellinghead 22.

In some implementations, the second kinematic mode may be initiated onlybased upon an active input. For example, the second kinematic mode maysometimes operate only while an operator actively holds or depresses themode switch 388. In some implementations, in contrast, the secondkinematic mode may be initiated based upon a discrete initiationcommand, without the need for continual operator input (at least withrespect to some input devices). For example, the second kinematic modemay be initiated when an operator presses the mode switch 388,regardless of whether the mode switch 388 is thereafter released. Insuch a case, a different action (or a repeat of the same action) maythen cause the second kinematic mode to end. For example, a second pressof the mode switch 388 or a movement of the switch 388 in a differentdirection may result in the end of the second kinematic mode. In someimplementations, the second kinematic mode may terminate automatically.For example, the second kinematic mode may terminate automatically aftera predetermined (or operator-provided) time, upon detection of the endof an operation (e.g., the end of a cutting operation for a standingtree), or based upon various other parameters.

In some implementations of the second kinematic mode, target actuatorvelocities (and corresponding velocity output commands) may bedetermined based upon a fixed-magnitude target translational velocityand a duration of an operation. For a cutting operation, for example, atarget magnitude for translational velocity and a target duration of thecutting operation may be determined in various ways. The target actuatorvelocities may then be determined such that the felling head moves withthe target velocity magnitude for the target duration.

In this regard, a target orientation of the felling head, a targetdirection of the translational movement, and a target velocity magnitudemay be determined in a variety of ways. In some implementations, forexample, an operator may provide a start-of-motion command (e.g., viaactuation of the switch 388, or other device of the input interface 64),which may initiate motion of the stick pin 26 along a target trajectory.In some implementations, the operator may actively indicate the targettrajectory (e.g., via the control stick 324). In some implementations,the controller 52 may automatically determine the target trajectorybased upon factors such as a current orientation of the disc saw 36, adetected (or input) orientation of a tree to be cut, and so on.

As depicted in FIG. 13C, for example, at the start of a cuttingoperation an operator (or the controller 52) may align the felling head22 at an angle 390 (i.e., with a particular tilt orientation) withrespect to true horizontal (e.g., as measured with respect to gravity).Such alignment may correspond, for example, to the cutting plane 36 a(see FIG. 1) being aligned generally perpendicularly to a major axis 392of a tree 394. Based upon this initial orientation of the felling head22, a target tilt orientation for the felling head 22 for operation inthe second kinematic mode may be determined to be equal to the angle390. An operator (or the controller 52) may align the felling head 22with the appropriate angle 390 based on various factors including visualinspection of the tree 394, signals from sensors for detecting aspectsof the tree (e.g., one of the sensors 54), and so on.

In certain implementations, one or more sensors may be utilized toidentify the start of an operation with an end effector, and the secondkinematic mode may be initiated based upon the sensor signals, or may beimplemented for a particular time interval (or with respect to otherparameters) that may be determined based upon the sensor signals. Forexample, referring to FIG. 13D, one or both of sensors 56 a and 56 b maydetect a proximity of a tree 400 and the controller 52 may initiate acut of the tree 400 under the second kinematic mode based upon thedetected proximity. In some implementations, the sensors 56 a and 56 b(or others) may alternatively (or additionally) detect an orientation ofthe tree 400, as may be useful to identify a target tilt orientation forthe felling head 22, or various other parameters.

In some implementations, the sensor 56 b (or another sensor) may beconfigured to detect that actual start of a cut with the saw disc 36(see FIG. 1). For example, the sensor 56 b may alternatively (oradditionally) be configured as a pressure or speed sensor for the sawdisc 36 (or associated components), such that the sensor 56 b may detectwhen the saw disc 36 has begun to cut the tree 400. As such, upon thesensor 56 b detecting an indicator such as a sudden decrease in sawspeed or a sudden decrease in saw motor pressure (e.g., for ahydraulically operated saw), the controller 52 may determine that thesaw disc 36 has actually begun to cut the tree 400. Accordingly, thecontroller 52 may initiate the second kinematic mode (e.g., with atarget tilt orientation corresponding to the current orientation of thecutting plane 36 a) or may start a timer for a target duration of thesecond kinematic mode.

In some implementations, the controller 52 may control movement of thefelling head 22 in the second kinematic mode based upon parameters thatmay generally describe the trees that are currently being harvested.Such parameters may include, for example, a characteristic (e.g.,average) or actual tree diameter or tree hardness, tree speciesinformation, and so on. The parameters may be provided by an operator(e.g., via the input interface 64), stored in a memory associated withthe controller 52, or detected automatically by various sensors. In someimplementations, the controller 52 may be configured to optimize therate of felling head advancement for particular types of wood and tooptimize the cutting duration for particular tree sizes. For example,for a tree (or tree type) of a known (or characteristic) diameter, thecontroller 52 may implement a cutting operation under the secondkinematic mode with an appropriate translational velocity for the typeof tree to be cut, and for the shortest practical time interval that mayallow a full cut of the tree to be made.

In some implementations, a translational velocity profile for thefelling head 22 (or another end effector), including factors such asvelocity magnitude, velocity direction, and movement duration, may bedetermined based upon a duty cycle identified by the controller 52.Generally, a duty cycle may include a plurality of sequential movementsof the felling head 22, which may exhibit various different velocitydirections, velocity magnitudes, and movement durations.

In some implementations, a duty cycle may be recorded in (and identifiedby the controller 52 from) a series of lines of code (or parameters)that may represent steps for the controller 52 to address sequentially.Each line, for example, may include a time duration value, atranslational (or other) velocity magnitude, and a velocity directionindex with a value equal to either +1 or −1. In some implementations,each line may also include a target trajectory angle corresponding to atarget translational direction. In some implementations, a targettrajectory angle may be identified in from other sources (e.g., in thevarious ways described above).

For each line of the duty cycle, the controller 52 may calculate therequired horizontal velocity of the felling head 22 by multiplying thetranslational velocity magnitude by the product of the direction indexand the cosine of the target trajectory angle (or sine, depending on therelevant reference frame). The controller 52 may further calculate therequired vertical velocity of the of the felling head 22, for each lineof the duty cycle, by multiplying the translational velocity magnitudeby the product of the direction index and the sine of the targettrajectory angle (or cosine, depending on the relevant reference frame).The controller 52 may then determine target actuator velocities (andcorresponding velocity output commands) for each line of the duty cycleand execute the duty cycle by implementing the commands sequentially andwith the corresponding time duration value.

In this regard, the use of a direction index in the lines of a dutycycle may provide a convenient method for implementing reversed movementof an end effector, with respect to a previous movement. For example, inprogramming a duty cycle for a saw cut into a tree, an operator may usethe same target trajectory angle (or other corresponding parameter), butopposite direction indices, for a cut into the tree and for a subsequentretraction of the saw out of the tree.

For a cutting operation for a tree 402, as depicted in FIG. 14A, anexample duty cycle for the feller buncher 20 may include a targettrajectory angle 404 that has been set to 20 degrees. Referring also toFIG. 14B, the duty cycle may include, with the target trajectory angle404, a first cut 406 into the tree 402 lasting one second, with atranslational velocity magnitude of 0.2 m/s, followed by a removal 408of the saw disc 36 from the tree lasting for 0.5 seconds, with atranslational velocity magnitude of 0.2 m/s. A second cut 410 into thesame tree 402 may then be executed, lasting 1.5 seconds, withtranslational velocity magnitude of 0.4 m/s. In this way, with targetactuator velocities having been determined, for example, under thesecond kinematic mode, a three-step cutting operation for the tree 402may be implemented automatically by the controller 52. It will beunderstood that other speeds, durations, and target trajectory anglesmay be used. Likewise, in some implementations, different numbers,orders, or directions of cuts and removals (or other operations) may beused.

FIGS. 15 and 16 illustrate a hydraulic schematic according to someembodiments of the present invention. The hydraulic schematic can beutilized with any of the embodiments included in this application. Theillustrated schematics include a stick cylinder 544 connected to a hoistboom 540 and a stick boom 524 and a hoist cylinder 546 connected to avehicle frame 542 and the hoist boom 540. FIGS. 15 and 16 alsoillustrate a pump 548, a reservoir 550, a hoist valve 552, astraightline valve 554, a stick valve 556 and a connecting valve 558.

Hydraulic fluid lines fluidly couple the cylinders 544, 546, the pump548 and the reservoir 550. Specifically, hydraulic fluid line 560fluidly couples a piston side of the hoist cylinder 546 to the pump 528to move fluid into the piston side of the hoist cylinder 546 when thehoist valve 552 is in a first position, and fluidly couples the pistonside of the hoist cylinder 546 to the reservoir 550 to permit fluid toexit the piston side of the hoist cylinder 546 into the reservoir 550when the hoist valve 552 is in a second position.

Hydraulic fluid line 562 fluidly couples a rod side of the hoistcylinder 546 to the reservoir 550 when the hoist valve 552 is in thefirst position to permit fluid to exit the rod side of the hoistcylinder 546 and fluidly couples the rod side of the hoist cylinder 546to the pump 548 when the valve is in the second position to move fluidinto the rod side of the hoist cylinder 546. The hoist valve 552 has aneutral position in which fluid flow is not permitted through the hoistvalve 552 from the pump 548 or into the reservoir 550 from either therod side or the piston side of the hoist cylinder 546.

Hydraulic fluid line 564 fluidly couples the rod side of the hoistcylinder 546 to the pump 548 when the straightline valve 554 is in afirst position to move fluid into the rod side of the hoist cylinder546, and fluidly couples the rod side of the hoist cylinder 546 to thereservoir 550 to permit fluid to exit the rod side of the hoist cylinder546 when the straightline valve 554 is in the second position.

Hydraulic fluid line 566 couples a rod side of the stick cylinder 544 tothe reservoir 550 when the straightline valve 554 is in the firstposition to permit fluid to exit the rod side of the stick cylinder 544and fluidly couples the rod side of the stick cylinder 544 to the pump548 when the straightline valve 544 is in the second position to movefluid into the rod side of the stick cylinder 544. The straightlinevalve 554 also has a neutral position in which fluid flow is notpermitted through the straightline valve 554 from the pump 548 or intothe reservoir 550 from either the rod side of the hoist cylinder 546 orthe rod side of the stick cylinder 544.

Hydraulic fluid line 568 fluidly couples the piston side of the stickcylinder 544 to the pump 548 when the stick valve 556 is in a firstposition to move fluid into the piston side of the stick cylinder 544,and fluidly couples the piston side of the stick cylinder 544 to thereservoir 550 to permit fluid to exit the piston side of the stickcylinder 544 when the stick valve 556 is in the second position.

Hydraulic fluid line 570 couples a rod side of the stick cylinder 544 tothe reservoir 550 when the stick valve 556 is in the first position topermit fluid to exit the rod side of the stick cylinder 544 and fluidlycouples the rod side of the stick cylinder 544 to the pump 548 when thestick valve 546 is in the second position to move fluid into the rodside of the stick cylinder 544. The stick valve 556 also has a neutralposition in which fluid flow is not permitted through the stick valve556 from the pump 548 or into the reservoir 550 from either the rod sideor piston side of the stick cylinder 544.

Hydraulic fluid line 572 fluidly couples hydraulic fluid lines 560 and568 to permit flow directly between the piston side of the hoistcylinder 546 and the piston side of the stick cylinder 544 when theconnecting valve 558 is open. The connecting valve 558 can open when thestick cylinder 544 and the hoist cylinder 546 are moving in oppositedirections such that the fluid does not need to pass through thereservoir 550 and the pump 548 but can pass directly from one of thepiston sides of the stick cylinder 544 and the hoist cylinder 546 to theother.

As shown in FIG. 15, when the operator directs the boom to move awayfrom the vehicle frame 542, the hoist cylinder 546 is shortened and thestick cylinder 544 is lengthened (see arrows in FIG. 15). Hydraulicfluid can flow directly from the piston side of the hoist cylinder 546,through the connecting valve 558 and into the piston side of the stickcylinder 544 without being directed into the reservoir 550 and the pump548. If the hoist cylinder 546 is dispensing more fluid than the stickcylinder requires 544, excess fluid can move through hydraulic fluidline 560 into the reservoir 550. If the stick cylinder 544 requires morefluid than the hoist cylinder 546 is dispensing, fluid can be directedthrough hydraulic fluid line 568 to supplement the fluid from the hoistcylinder 546. The stick boom 524 and the hoist boom 540 can, in someinstances, move much faster than previously possible because the pump548 is not always the sole motive force for the hydraulic fluid.

As shown in FIG. 16, when the operator directs the boom to move towardthe vehicle frame 542, the hoist cylinder 546 is lengthened and thestick cylinder 544 is shortened (see arrows in FIG. 16). Hydraulic fluidcan flow directly from the piston side of the stick cylinder 544,through the connecting valve 558 and into the piston side of the hoistcylinder 546 without being directed into the reservoir 550 and the pump548. If the stick cylinder 544 is dispensing more fluid than the hoistcylinder requires 546, excess fluid can move through hydraulic fluidline 568 into the reservoir 550. If the hoist cylinder 546 requires morefluid than the stick cylinder 544 is dispensing, fluid can be directedthrough hydraulic fluid line 560 to supplement the fluid from the stickcylinder 544. The stick boom 524 and the hoist boom 540 can, in someinstances, move much faster than previously possible because the pump548 is not always the sole motive force for the hydraulic fluid.

The terminology used herein is for the purpose of describing particularembodiments only and is not intended to be limiting of the disclosure.As used herein, the singular forms “a”, “an” and “the” are intended toinclude the plural forms as well, unless the context clearly indicatesotherwise. It will be further understood that the any use of terms“comprises” and/or “comprising” in this specification specifies thepresence of stated features, integers, steps, operations, elements,and/or components, but do not preclude the presence or addition of oneor more other features, integers, steps, operations, elements,components, and/or groups thereof.

The description of the present disclosure has been presented forpurposes of illustration and description, but is not intended to beexhaustive or limited to the disclosure in the form disclosed. Manymodifications and variations will be apparent to those of ordinary skillin the art without departing from the scope and spirit of thedisclosure. Explicitly referenced embodiments herein were chosen anddescribed in order to best explain the principles of the disclosure andtheir practical application, and to enable others of ordinary skill inthe art to understand the disclosure and recognize many alternatives,modifications, and variations on the described example(s). Accordingly,various embodiments and implementations other than those explicitlydescribed are within the scope of the following claims.

What is claimed is:
 1. A work machine comprising: a frame; a boomassembly coupled to the frame and including a hoist boom pivotallyconnected to the frame and moveable relative to the frame by a hoistactuator, a hoist boom position sensor connected to the hoist boom, astick boom pivotally connected to the hoist boom and moveable relativeto the hoist boom by a stick actuator, a stick boom position sensorconnected to the stick boom, and a tool pivotally connected to the stickboom by a stick pin; a pump fluidly coupled to the hoist actuator andoperable to fluidly communicate with the hoist actuator through a hoistvalve, the pump further fluidly coupled to the stick actuator andoperable to fluidly communicate with the stick actuator through a stickvalve; a connecting valve positioned fluidly between the hoist actuatorand the stick actuator to permit fluid flow between the hoist actuatorand the stick actuator when the connecting valve is open, wherein whenthe connecting valve is closed, fluid flow is inhibited between thehoist actuator and the stick actuator; a user interface configured toreceive velocity input commands from an operator for movement of thetool, the user interface being configured to receive the velocity inputcommands with at least first, second and third degrees of freedom; and acontroller configured to: receive information from the hoist boomposition sensor and the stick boom position sensor, receive input fromthe user interface, communicate signals to the hoist actuator and thestick actuator based upon the information from the hoist boom positionsensor and the stick boom position sensor, and the input from the userinterface, determine, based upon the at least one velocity input commandand the sensed indicators, at least one target actuator velocity foractuating one or more of the hoist actuator, and the stick actuator, andcommand one or more of the hoist actuator and the stick actuator to movewith the determined at least one target actuator velocity, such that thetool moves with an aggregate velocity corresponding to the desiredmovement.
 2. The work machine of claim 1, wherein fluid is permitted toflow from the stick actuator to the hoist actuator when the connectingvalve is open.
 3. The work machine of claim 2, wherein the pump isconfigured to direct fluid flow into the hoist actuator to supplementfluid flow from the stick actuator into the hoist actuator.
 4. The workmachine of claim 1, wherein fluid is permitted to flow from the hoistactuator to the stick actuator when the connecting valve is open.
 5. Thework machine of claim 4, wherein the pump is configured to direct fluidflow into the stick actuator to supplement fluid flow from the hoistactuator to the stick actuator.
 6. The work machine of claim 1, whereinthe pump is operable to direct fluid into the hoist actuator when thehoist valve is in a first position, and the pump is operable to directfluid into the stick actuator when the stick valve is in a firstposition.
 7. The work machine of claim 6, further including a reservoirfor storing hydraulic fluid, wherein the hoist actuator is configured todirect fluid into the reservoir when the hoist valve is in a secondposition and the stick actuator is configured to direct fluid into thereservoir when the stick valve is in a second position.
 8. A method ofcontrolling fluid flow in a work machine, the method comprising: movinga hoist valve into a first position in which the hoist valve isconfigured to permit flow of hydraulic fluid between a reservoir and ahoist actuator; moving the hoist valve into a second position in whichthe hoist valve is configured to inhibit flow of hydraulic fluid betweenthe reservoir and the hoist actuator; moving a stick valve into a firstposition in which the stick valve is configured to permit flow ofhydraulic fluid between the reservoir and a stick actuator; moving thestick valve into a second position in which the stick valve isconfigured to inhibit flow of hydraulic fluid between the reservoir andthe stick actuator; moving a connecting valve into a first position inwhich the connecting valve is configured to permit flow of hydraulicfluid between the hoist actuator and the stick actuator; moving theconnecting valve into a second position in which the connecting valve isconfigured to inhibit flow of hydraulic fluid between the hoist actuatorand the stick actuator; sensing a position of the hoist boom with ahoist boom position sensor; sensing a position of the stick boom with astick boom position sensor; receiving velocity input commands for adesired movement of a tool; communicating the sensed positions to acontroller; receiving, with the controller, input from a user interface;determining, based upon the velocity input commands and the sensedpositions, a first target velocity of the hoist actuator and a secondtarget velocity of the stick actuator; communicating signals to thehoist actuator and the stick actuator, with the controller, based uponthe sensed position of the hoist boom, the sensed position of the stickboom, and the input from the user interface.
 9. The method of claim 8,further comprising directing fluid from the stick actuator to the hoistactuator when the connecting valve is in the first position.
 10. Themethod of claim 9, further comprising directing fluid into the hoistactuator with the pump to supplement fluid flow from the stick actuatorinto the hoist actuator.
 11. The method of claim 10, further includingdirecting fluid into a reservoir from the stick actuator to storehydraulic fluid.
 12. The method of claim 8, further comprising directingfluid from the hoist actuator to the stick actuator when the connectingvalve is in the first position.
 13. The method of claim 12, furthercomprising directing fluid into the stick actuator with the pump tosupplement fluid flow from the hoist actuator to the stick actuator. 14.The method of claim 13, further including directing fluid into areservoir from the hoist actuator to store hydraulic fluid.
 15. Ahydraulic circuit and control system for a work machine that includes amachine frame and a boom assembly coupled to the machine frame, the boomassembly including a hoist boom pivotally connected to the machine frameand moveable relative to the machine frame by a hoist actuator, and astick boom pivotally connected to the hoist boom and moveable relativeto the hoist boom by a stick actuator, the hydraulic circuit and controlsystem comprising: a pump operable to move hydraulic fluid within thehydraulic circuit; a hoist valve fluidly positioned between the pump andthe hoist actuator to permit fluid flow from the pump into the hoistactuator when the hoist valve is in a first position and to inhibitfluid flow from the pump into the hoist actuator when the hoist valve isin a second position; a stick valve fluidly positioned between the pumpand the stick actuator to permit fluid flow from the pump into the stickactuator when the stick valve is in a first position and to inhibitfluid flow from the pump into the stick actuator when the stick valve isin a second position; a connecting valve fluidly positioned between thehoist actuator and the stick actuator to permit fluid flow between thehoist actuator and the stick actuator when the connecting valve is in afirst position and to inhibit fluid flow between the hoist actuator andthe stick actuator when the connecting valve is in a second position; auser interface configured to receive velocity input commands from anoperator for movements of hoist boom and the stick boom; a hoist boomposition sensor connected to the hoist boom; a stick boom positionsensor connected to the stick boom; and a controller configured to:receive information from the hoist boom position sensor and the stickboom position sensor, receive input from the user interfacecorresponding to at least one of the velocity input commands for adesired movement of at least one of the hoist boom and the stick boom,determine, based upon the at least one velocity input command and acurrent orientation of the boom assembly, at least one target actuatorvelocity for actuating one or more of the hoist boom and the stick boom,and command the hoist actuator and the stick actuator based upon theinformation from the hoist boom position sensor and the stick boomposition sensor, and the input from the user interface to move with thedetermined at least one target actuator velocity, such that the boommoves with an aggregate velocity corresponding to the desired movement.16. The circuit and system of claim 15, further including a reservoirfor storing hydraulic fluid, wherein the hoist valve and stick valve canpermit fluid to flow into the reservoir when the valves are in a thirdposition.
 17. The circuit and system of claim 15, wherein fluid ispermitted to flow from the stick actuator to the hoist actuator when theconnecting valve is open.
 18. The circuit and system of claim 17,wherein the pump is configured to direct fluid flow into the hoistactuator to supplement fluid flow from the stick actuator into the hoistactuator.
 19. The circuit and system of claim 15, wherein fluid ispermitted to flow from the hoist actuator to the stick actuator when theconnecting valve is open.
 20. The circuit and system of claim 19,wherein the pump is configured to direct fluid flow into the stickactuator to supplement fluid flow from the hoist actuator to the stickactuator.